Cache 高速缓存
由存储器的层次结构可知,Cache 是一种仅次于 CPU 的高速存储器,主要由 SRAM-静态RAM 组成,是一种相联存储器。
Cache 的构想来自于局部性原理。把 CPU 目前访问的地址周围的部分数据放入到 Cache 中。这样就缓和了 CPU 的速度和主存速度不匹配的问题,提高了 Cache 性能。也就是说 Cache 是主存的一小部分副本。Cache 对应的是物理到具体数据的部分。
但是主存块过大同样也会破坏局部性原理:Cache 命中率规律。
要完成一个功能完善的 Cache,需要解决如下三个问题:
- 当主存块的内容复制到 Cache 中,如何选择存放在 Cache 中的位置?Cache 和 主存的映射方式。
- 如果 Cache 满了,怎么办?Cache 替换算法。
- 如果 CPU 修改了 Cache 中的数据,如何同步修改主存的内容。Cache 的写策略。
- 如何通过一个逻辑地址找到对应主存的位置呢?Cache 寻址过程。
注意
Cache 上述的功能全部由硬件实现。